package Test;

import java.util.Scanner;

public class PrimeNumber {
    private int[] sim;

    /**
     * 带参数构造器
     *
     */
    public PrimeNumber(int lenth){
        this.sim=new int[lenth+1];
    }

    /**
     *  无参数构造器
     *  数组长度默认：101    代表1-100
     */
    public PrimeNumber(){
        this.sim=new int[101];
    }

    /**
     * 初始化数组，均设置为0，代表为素数
     */
    public void initTheArray(){
        for (int i = 1; i <sim.length; i++) {
            sim[i]=0;
        }
    }

    /**
     * 计算各位对应的下标是否为素数
     * 不满足要求则设置为1
     */
    public void calculate(){
        for (int i = 3; i <sim.length ; i++) {
            for (int j = 2; j <= Math.sqrt(i); j++) {
                if (i%j==0){
                    sim[i]=1;
                }
            }
        }
    }

    /**
     * 输出素数
     */
    public void printPrime(){
        for (int i = 1; i <sim.length; i++) {
            if (sim[i]==0){
                System.out.print(i+" ");
            }
        }

    }



    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);

        System.out.print("请输入数组长度：");
        int lenth=sc.nextInt();
        PrimeNumber primeNumber=new PrimeNumber(lenth);

        primeNumber.calculate();
        primeNumber.printPrime();



    }
}
